package com.ruoyi.app.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * APP用户信息对象 app_user
 *
 * @author ruoyi
 * @date 2025-12-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("app_user")
public class AppUser extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @TableId(value = "id")
    private Long id;
    /**
     * 用户账号
     */
    private String userName;
    /**
     * 用户昵称
     */
    private String nickName;
    /**
     * 用户邮箱
     */
    private String email;
    /**
     * 手机号码
     */
    private String phone;

    /**
     * 用户签名，关于我
     */
    private String signature;

    /**
     * 身份证号码
     */
    private String code;

    /**
     * 身份证姓名
     */
    private String codeName;

    /**
     * 环信UUID
     */
    private String uuid;

    /**
     * 用户性别（0=男 1=女 2=未知）
     */
    private String sex;
    /**
     * 邀请码
     */
    private String inviteCode;
    /**
     * 父级ID
     */
    private Long parentId;
    /**
     * 头像地址
     */
    private String avatar;
    /**
     * 生活照地址
     */
    private String photo;
    /**
     * 密码
     */
    private String password;
    /**
     * 职业
     */
    private String occupation;
    /**
     * 学校
     */
    private String school;
    /**
     * 出生年月
     */
    private Long birthday;
    /**
     * 身高(cm)
     */
    private Integer height;

    /**
     * 交友目的
     */
    private String target;

    /**
     * 交友目的状态(0=所有人可见,1=相同目的可见,2=不可见)
     */
    private String targetStatus;

    /**
     * 家乡
     */
    private String home;

    /**
     * 居住地省份
     */
    private String province;

    /**
     * 居住地城市
     */
    private String city;

    /**
     * 纬度
     */
    private Double latitude;
    /**
     * 经度
     */
    private Double longitude;

    /**
     * 帐号类型(0=用户注册，1=自动注册)
     */
    private String register;

    /**
     * 帐号状态（0=正常 1=冻结 ）
     */
    private String status;

    /**
     * 帐号状态（0=不在线 1=在线 ）
     */
    private String onlineStatus;

    /**
     * 删除标志（0=代表存在 2=代表删除）
     */
    @TableLogic
    private String delFlag;
    /**
     * 最后登录IP
     */
    private String loginIp;
    /**
     * 最后登录时间
     */
    private Date loginDate;
    /**
     * 备注
     */
    private String remark;

    /**
     * 靓号
     */
    private String accountNumber;

    /**
     * 用户等级
     */
    private Long level;

    /**
     * 销售等级
     */
    private Long salesLevel;

    /**
     * 团队IDS
     */
    private String parentIds;

    /**
     * 减少的手续费比例
     */
    private Integer reduceLv;

    /**
     * 设备唯一标识
     */
    private String uniqueCode;

    /**
     * 微信二维码
     */
    private String wxImg;

    /**
     * 支付宝二维码
     */
    private String aliImg;

    /**
     * 银行卡号
     */
    private String bankCode;


    /**
     * 持卡人姓名
     */
    private String bankName;

    /**
     * 银行卡开户行
     */
    private String bankType;

    /**
     * 搜索类型(0=公开 1 id可找到 2手机号可找到)
     */
    private Integer searchType;

    /**
     * 创建群权限 0无 1有
     */
    private Integer createGroupFlag;
}
